<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <!-- 计算属性-->
    <!-- 
        计算属性与方法
        1.在使用computed中的函数的时候不需要加括号而methods跌函数在调用的时候需要加括号
        2.这两种方式在缓存方面也是不一样的。如果是使用computed属性，只有当reversedMessag
          这个属性发生变化的时候才会调用 reversedMessag这个函数。
          而method这种方式，每次进入页面的时候都会执行某些函数
        3.在实际应用中，如果要显示实时的信息（显示当前进入页面的时候），就要使用method这个属性了

     -->

    <div id="app">
        <p>原数据：{{message}}</p>
        <p>反转的数据: "{{reversedMessag}}"</p>
        <button @click="add()">补充货物</button>
        <div>总价为:{{price}}</div>
    </div>
    <script>
        // 创建Vue的对象
        let vm = new Vue({
            el:"#app",
            data:{
                message:'abcdefg',
                package:{
                    count:5,
                    price:5
                }
            },
            methods: {
                add:function(){
                    this.package.count++
                }
            },
            computed: {
                reversedMessag:function(){
                    return this.message.split('').reverse().join('');
                },
                price:function(){
                    return this.package.count*this.package.price;
                }
            }
        })
    </script>
</body>
</html>